import jsBridge from "./jsBridge";

export default {
  /**
   * 注册方法给客户端调用
   *data 客户端传递的数据
   *responseCallback 回调客户端函数(传参给客户端)
   */
  // 获取用户信息
  getUserInfo(responseCallback) {
    jsBridge.registerhandler("getUserInfo", data => {
      if (data) {
        sessionStorage.setItem("userInfo", data);
        responseCallback(data);
      }
    });
  },
  // 点击导航栏获取id信息
  getModelId(responseCallback) {
    jsBridge.registerhandler("getModelId", data => {
      if (data) {
        responseCallback(data);
      }
    });
  },
  // 刷新获取id信息
  InterfaceRefresh(responseCallback) {
    jsBridge.registerhandler("InterfaceRefresh", data => {
      if (data) {
        responseCallback(data);
      }
    });
  },

  /**
   * JS调用客户端
   * @param eventName 事件名称
   * @param params 事件所要的参数
   */
  // 调用登录
  login(params, responseCallback) {
    jsBridge.callhandler("login", params, data => {
      if (data) {
        responseCallback(data);
      }
    });
  },
  // 调用退出
  logout(responseCallback) {
    jsBridge.callhandler("logout", "", data => {
      if (data) {
        sessionStorage.removeItem("userInfo");
        responseCallback(data);
      }
    });
  },
  // 设置标题信息
  setTitle(params) {
    jsBridge.callhandler("getTitle", params);
  },
  // 子包跳转
  toZipPage(name, params) {
    name = name || "test";
    let nativeParams = {
      name: name
    };
    if (params) {
      nativeParams.params = params;
    }
    jsBridge.callhandler("toZipPage", nativeParams);
  },
  // 完成转账调取交易密码
  inputSafePwd(params, responseCallback) {
    jsBridge.callhandler("inputSafePwd", params, data => {
      if (data) {
        responseCallback(data);
      }
    });
  },
  // 转账完成后回主界面
  toMain(params) {
    jsBridge.callhandler("toMain", params);
  },
  /**
   * 显示头部菜单
   * @param { code: '菜单编码', text: '菜单文字' }
   */
  showHdNav(params = { code: "", text: "" }) {
    jsBridge.callhandler("showHdNav", params);
  },
  // 隐藏头部菜单
  hideHdNav() {
    jsBridge.callhandler("hideHdNav", false);
  },
  // 点击头部菜单回调函数
  handleHdNav(callback) {
    jsBridge.registerhandler("handleHdNav", (data, responseCallback) => {
      callback(data);
      responseCallback("success");
    });
  }
};
